home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / p / pcqpascalv1.2d.lha / Include / Devices / KeyMap.i < prev    next >
Text File  |  1997-05-06  |  2KB  |  75 lines

  1. {
  2.         Keymap.i for PCQ Pascal
  3.  
  4.         keymap.resource definitions and console.device key map definitions
  5. }
  6.  
  7. {$I "Include:Exec/Nodes.i"}
  8. {$I "Include:Exec/Lists.i"}
  9.  
  10. Type
  11.  
  12.     KeyMap = record
  13.         km_LoKeyMapTypes        : Address;
  14.         km_LoKeyMap             : Address;
  15.         km_LoCapsable           : Address;
  16.         km_LoRepeatable         : Address;
  17.         km_HiKeyMapTypes        : Address;
  18.         km_HiKeyMap             : Address;
  19.         km_HiCapsable           : Address;
  20.         km_HiRepeatable         : Address;
  21.     end;
  22.     KeyMapPtr = ^KeyMap;
  23.  
  24.  
  25.     KeyMapNode = record
  26.         kn_Node         : Node;         { including name of keymap }
  27.         kn_KeyMap       : KeyMap;
  28.     end;
  29.     KeyMapNodePtr = ^KeyMapNode;
  30.  
  31. { the structure of keymap.resource }
  32.  
  33.     KeyMapResource = record
  34.         kr_Node         : Node;
  35.         kr_List         : List;         { a list of KeyMapNodes }
  36.     end;
  37.     KeyMapResourcePtr = ^KeyMapResource;
  38.  
  39.  
  40. Const
  41.  
  42. { Key Map Types }
  43.  
  44.     KC_NOQUAL           = 0;
  45.     KC_VANILLA          = 7;    { note that SHIFT+ALT+CTRL is VANILLA }
  46.     KCB_SHIFT           = 0;
  47.     KCF_SHIFT           = $01;
  48.     KCB_ALT             = 1;
  49.     KCF_ALT             = $02;
  50.     KCB_CONTROL         = 2;
  51.     KCF_CONTROL         = $04;
  52.     KCB_DOWNUP          = 3;
  53.     KCF_DOWNUP          = $08;
  54.  
  55.     KCB_DEAD            = 5;    { may be dead or modified by dead key:  }
  56.     KCF_DEAD            = $20;  {   use dead prefix bytes               }
  57.  
  58.     KCB_STRING          = 6;
  59.     KCF_STRING          = $40;
  60.  
  61.     KCB_NOP             = 7;
  62.     KCF_NOP             = $80;
  63.  
  64.  
  65. { Dead Prefix Bytes }
  66.  
  67.     DPB_MOD             = 0;
  68.     DPF_MOD             = $01;
  69.     DPB_DEAD            = 3;
  70.     DPF_DEAD            = $08;
  71.  
  72.     DP_2DINDEXMASK      = $0f;  { mask for index for 1st of two dead keys }
  73.     DP_2DFACSHIFT       = 4;    { shift for factor for 1st of two dead keys }
  74.  
  75.